﻿namespace OpenAIProxy;

// 代理设置配置类
public class ProxySettings
{
    public ProviderSelectionStrategy ProviderSelectionStrategy { get; set; } 
        = ProviderSelectionStrategy.WeightedRandom;
    
    public int DefaultMaxRetries { get; set; } = 3;
    public TimeSpan RateLimitWindow { get; set; } = TimeSpan.FromMinutes(1);
    public int RateLimitCount { get; set; } = 60;
    
    public List<RegionEndpoint> RegionEndpoints { get; } = new();
}

// 区域端点配置
public record RegionEndpoint(
    string Name,
    string ApiKey,
    string Endpoint);
    
// // 提供商选择策略枚举
// public enum ProviderSelectionStrategy
// {
//     RoundRobin,
//     LeastCost,
//     BestPerformance,
//     WeightedRandom
// }
